package com.majsubtense.core.events;

public class EventType<T extends Event> {
    public static final EventType<Event> ROOT;
    private final EventType<? super T> superType;
    private final String name;

    public EventType(EventType<? super T> superType, String name) {
        this.superType = superType;
        this.name = name;
    }

    public EventType<? super T> getSuperType() { return superType; }

    public String getName() {
        return name;
    }

    static {
        ROOT = new EventType<>(null, "EVENT");
    }
}
